1. Technical Field
The embodiments herein generally relate to web service adaptors, and, more particularly, to a generic web service adaptor for performing web service operations for multiple web service providers.
2. Description of the Related Art
Data is the representation of information typically in a manner suitable for communication interpretation and processing. Metadata describes and gives information about other data. The data is typically organized to model relevant aspects of reality in a way that supports processes requiring this information. In computing, ODBC (Open database connectivity) is a standard programming language middleware application programming interface (API) for accessing a database management system. JDBC is a similar Java-Based data access technology. This technology that is an application programming interface for the Java Programming language that defines how a client may access the database. Likewise, OLE DB (Object linking and Embedding Database), is an application programming interface that allows accessing data from a variety of sources in a uniform manner.
Conventional methods for data developers have used protocols like ODBC, JDBC, OLE DB or just exported data into simple flat files with comma separated values (CSV format) and loaded data from those files. The protocols like ODBC, JDBC or OLEDB specify precise APIs for different operations that data source providers complying with these protocols look ahead to implement, so consuming metadata and data from providers that comply with such protocols becomes an easy use of the published APIs.
However, not all modern cloud based data sources like Salesforce, ServiceNow, NetSuite, Eloqua, and Marketo support protocols like ODBC, JDBC and OLE DB APIs. ServiceNow is a software-as-a-service (SaaS) provider of IT service management (ITSM) software. Salesforce is a global computing platform. It is known best for its customer relationship management (CRM) software. NetSuite markets cloud-based integrated business management software. This includes software for ERP, accounting, order management, inventory, CRM, professional services automation (PSA), and E-commerce applications. Eloqua is a marketing automation SaaS platform which develops automated marketing and demand generation software and services for business-to-business marketers.
These cloud based data sources support REST or SOAP style web services. To access data sources supporting web services, custom web service adapters may be written in-house or purchased from third-party software vendors. With SOAP web services, the available APIs are specified in a WSDL file, however the description of web services through WSDL is not complete, because not all the semantics around how to invoke the APIs is fully captured in the WSDL descriptions. Further, there are source specific nuances (e.g., configurations) that one needs to be concerned of such as credentials to connect, allowed times to connect, allowed session durations, idle timeouts, allowed degree of parallelism during fetching, data volumes fetch able at one go, time window for which to fetch data updates, etc. With REST web services, the interfaces for different operations like GET, POST, PUT, DELETE, HEAD are standardized with support for passing different parameters to these interfaces. There are efforts to describe REST web services through WADL (along the lines of WSDL for SOAP) but they are still in infancy.
The web services model provides the flexibility of describing APIs with attached metadata makes it easily usable in any domain without the need for standardization work (e.g., as in the traditional protocols). This has contributed to the widespread use of web services, but that same flexibility also has made it harder to consume web services in a generic fashion. Since service providers may end up supporting a large number of data sources with web service APIs, it is important for scalability reasons to be able to source data using a single web services adaptor instead of writing one per source that requires to be supported. Accordingly there remains a need for a generic web service adaptor that is capable of handling various data sources for performing web service operations without writing one per source that requires to be supported.